IBIS Macromodel Task Group

Meeting date: 02 March 2021

Members (asterisk for those attending):
Achronix Semiconductor        Hansel Dsilva
ANSYS:                      * Curtis Clark
                            * Wei-hsing Huang
Cadence Design Systems:     * Ambrish Varma
                              Ken Willis
                            * Jared James
Google:                       Zhiping Yang
Intel:                        Michael Mirmak
                              Kinger Cai
                              Alaeddin Aydiner
Keysight Technologies:      * Fangyi Rao
                            * Radek Biernacki
                            * Ming Yan
                            * Todd Bermensolo
                              Rui Yang
Luminous Computing            David Banas
Marvell                       Steve Parker
Mentor, A Siemens Business: * Arpad Muranyi
Micron Technology:          * Randy Wolff
                            * Justin Butterfield
Missouri S&T                * Chulsoon Hwang
SAE ITC                       Jose Godoy
SiSoft (Mathworks):         * Walter Katz
                              Mike LaBonte
Teraspeed Labs:             * Bob Ross
Zuken USA:                  * Lance Wang

The meeting was led by Arpad Muranyi.  Curtis Clark took the minutes.

--------------------------------------------------------------------------------
Opens:
  
- None.

-------------
Review of ARs:

- Chulsoon to send his presentation and upcoming paper on PSIJ to the ATM list.
  - Done.

--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the February 23rd
meeting.  Walter moved to approve the minutes.  Lance seconded the motion.
There were no objections.

-------------
New Discussion:

PSIJ modeling in IBIS:
Chulsoon shared a follow up presentation on PSIJ modeling that incorporated
some of the comments he had received during and since the last meeting.

- slide 2: Ku(t) and Kd(t) Modification example.
Chulsoon noted that the integral term computing the time averaged value of
Vcc(t) had been rewritten directly in terms of t.  He said Curtis had suggested
this because the Tswitch concept used in the previous version had caused
confusion at the last meeting.  Chulsoon said he thought the new expression
was clearer.

- slides 3-6: Implementation in Open-Source Ngspice
Chulsoon said that the original test implementation of the algorithm in Ngspice
had been created by a student who had since graduated.  He noted that the Ku0,
Kd0, Bu, Au, Bd, and Ad coefficient curves are all calculated in advance using
the Rising and Falling waveforms.  Therefore, the only thing the SPICE circuit
needs to compute on the fly for the Ku and Kt scalers is the time averaged value
of Vcc(t) since the last switching event.

- slide 7: Why is Propagation Delay Needed?
Chulsoon noted that the jitter sensitivity at low frequency and the frequency
at which the jitter sensitivity curve rolls off are dependent on the propagation
delay (illustrative figure included).  A single ps/mV sensitivity value is not
enough because of this frequency dependence.  With multi-tone power noise the
phase relationship between the frequencies is a function of propagation delay.
Jitter could even vary for a single frequency of power supply noise, depending
on the phase relationship.  Fangyi said that this phase effect is only important
when the power noise frequency is comparable to the data rate.  Chulsoon said
it's also important for low frequency noise.  Fangyi said this would be a DC
effect for low frequency noise.  Chulsoon agreed that it would be a DC effect
for a given transition, but it would vary over time.

- slide 8: typ/min/max variation
Chulsoon noted that the original formulation in the previous meeting's
presentation had assumed the Bu, Au, Bd, Ad waveforms were extracted using the
two equations and two unknowns with the typ/min/max variants of the rising and
falling waveforms.  He said that Randy, Arpad and others had suggested possible
problems with this since the typ/min/max variants might not have a common t=0
switching event reference.  In addition, typ/min/max represent process and
temperature variations as well, not just voltage.

Because of these potential challenges with correlating existing typ/min/max
waveform data, Chulsoon proposed an alternative.  He said the IBIS model
could add parameters for propagation delay and jitter sensitivity at DC in
order to provide the necessary information.

- slide 9: Proposed New Keywords (Subparams)
The slide proposes a dt/dv Subparam with typ/min/max corners to represent the
DC jitter sensitivity.  It also proposes an int_path_delay Subparam with
typ/min/max corners to represent the propagation delay.

- slide 10: Extracted Ku(t) and Kd(t) examples
Example switching waveforms extracted with the previous formulation.

Fangyi asked if the delay was provided for the voltage corners.  Chulsoon said
right now the existing Ku and Kd waveforms are truncated in the sense that they
don't consider the full propagation delay.  These new parameters introduce this
delay for the typ/min/max nominal cases.  Fangyi asked if these delays are
incorporated during the extraction of the Bu, Au, Bd, Ad.  Chulsoon said yes.

Fangyi asked if this new approach would result in a simple time shift of the Ku
and Kt waveforms as a function of the time averaged Vcc(t).  He noted that the
previous formulation could capture changes in switching waveform shape not just
shifts.  He referred to the waveforms shown on slide 10 of the presentation as
an example.  In slide 10 the variations of Ku(t) and Kd(t) with varying supply
voltages were more than simple shifts.  Chulsoon agreed that the new proposal
might not reproduce what the previous formulation had.  He said they would have
to set up tests to find out whether the new formulation could capture the PSIJ
effects acceptably.  Fangyi said another option would be to add more required
waveforms to the model.

Bob noted that the Ku(t) and Kd(t) curves on slide 10 did not start and end at
0 or 1.  Arpad said ideally they should.  Fangyi agreed that after the waveform
had settled to its DC level the Ku(t) and Kd(t) should have settled to the
legacy Ku0(t) and Kd0(t).  The Bu(t), Au(t), Bd(t), and Ad(t) should go to 
zero.  Curtis agreed and said they should also start at zero at t=0, otherwise
we get discontinuities in the Ku(t) and Kd(t) at switching events.  Fangyi
agreed.

Redriver Flow Issues:
Walter shared his presentation "Simpler Redriver Flow".  He said we all agree
that the current Redriver flow is broken.  He agreed that BIRD210 resolves the
flow issues, but he summarized several of the reasons he thinks it is
unnecessarily complicated.

Walter said the second proposed new column in the IR matrix, which the model
uses to return the LTI part of its equalization, is not necessary.  He said
nothing in the current specification precludes the EDA tool from simply placing
a unit IR in the IR matrix as a crosstalk term.  In this case, the model would
return its equalization applied to the unit IR.  The tool then would have the
equalization response to use in a proxy AMI_GetWave if the model didn't provide
it.

Walter said the proposed first new column of the IR matrix, used to pass in the
cumulative upstream response, is not necessary.  He said the cumulative
upstream response could instead be passed in using the legacy column 1.  There
would be no need for a parameter to specify the use of a new flow.  Walter said
the tool could put any combinations of IRs it wanted into the crosstalk columns
of IR matrices passed to the AMI_Init functions.

Fangyi said his BIRD210 proposal preserves the nearest channel IR in the
legacy column 1 and adds the cumulative upstream IR in a new column.  After all
the AMI_Init functions have been called with his new flow, the EDA tool has the
impulse responses it needs for every individual section, and it can compute all
the crosstalk path combinations.  Fangyi said with Walter's approach the tool
would have to call one AMI_Init function to generate responses to be passed in
as crosstalk terms in other AMI_Init functions.  But you would have situations
in which two AMI_Init functions each required crosstalk terms from the other.
Fangyi said Walter's approach assumes the tool knows all the crosstalk paths,
but at some point you wouldn't know all the paths until you called all the
AMI_Init functions.  So you wouldn't have all the paths you needed to put in the
IR matrix when each AMI_Init was called.

- Radek: Motion to adjourn.
- Curtis: Second.
- Arpad: Thank you all for joining.

AR: Chulsoon to send his new PSIJ presentation to the ATM list.
AR: Walter to send his Simpler Redriver Flow presentation to the ATM list.

-------------
Next meeting: 09 March 2021 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives
